Function: completion-pcm--pattern->regex
completion-pcm--pattern->regex is a byte-compiled function defined in
minibuffer.el.gz.
Signature
(completion-pcm--pattern->regex PATTERN &optional GROUP)
Source Code
;; Defined in /usr/src/emacs/lisp/minibuffer.el.gz
(defun completion-pcm--pattern->regex (pattern &optional group)
(let ((re
(concat "\\`"
(mapconcat
(lambda (x)
(cond
((stringp x) (regexp-quote x))
(t
(let ((re (if (eq x 'any-delim)
(concat completion-pcm--delim-wild-regex "*?")
".*?")))
(if (if (consp group) (memq x group) group)
(concat "\\(" re "\\)")
re)))))
pattern
""))))
;; Avoid pathological backtracking.
(while (string-match "\\.\\*\\?\\(?:\\\\[()]\\)*\\(\\.\\*\\?\\)" re)
(setq re (replace-match "" t t re 1)))
re))